﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using RN.Entidades;
using CAD.DAO;
using System.Data;

namespace RN.Componentes
{
    
    public class CPuntos
    {
        #region DMLS
        public static bool InsertarPunto(Puntos objProxy)
        {
            

            DAOPuntos daoProxy = new DAOPuntos();
            return daoProxy.Insertar(objProxy.LPUNTOS_ID1, objProxy.IUBICACION_PUNTO1, objProxy.SDESCRIPCION_PUNTO_DSC1, objProxy.SESTADO1, objProxy.ICODIGO1, objProxy.ICONCURRENCIA1, objProxy.LLOCACIONES_ID1.LLOCACIONES_ID1) > 0;
        }
        public static bool ActualizarPunto(Puntos objProxy)
        {
            ValidationException x = new ValidationException();
            if (objProxy.ICODIGO1>0)
                x.AgregarError("Ingrese el código");

            if (objProxy.ICODIGO1!=0)
                x.AgregarError("Ingrese el nombre del PERSONAL");

            if (x.Cantidad > 0)
                throw x;

            DAOPuntos daoProxy = new DAOPuntos();
            return daoProxy.Actualizar(objProxy.LPUNTOS_ID1, objProxy.IUBICACION_PUNTO1, objProxy.SDESCRIPCION_PUNTO_DSC1, objProxy.SESTADO1, objProxy.ICODIGO1, objProxy.ICONCURRENCIA1, objProxy.LLOCACIONES_ID1.LLOCACIONES_ID1);

        }

        public static bool EliminarXidPunto(int LPUNTOS_ID1 )
        {
            ValidationException x = new ValidationException();
            if (LPUNTOS_ID1 <= 0)
                x.AgregarError("Ingrese el código");

            if (x.Cantidad > 0)
                throw x;

            DAOPersonal daoProxy = new DAOPersonal();
            return daoProxy.Eliminar(LPUNTOS_ID1);
        }
        #endregion 

       #region Selects
        public static List<Puntos> Traerpunto()
        {
            DAOPuntos daoProxy = new DAOPuntos();
            DataSet dtsProxy = daoProxy.Traerpunto();
            return CargarLista(dtsProxy.Tables[0]);
        }
        public static Puntos TraerpuntoxId(int LPUNTOS_ID)
        {
            DAOPuntos daoProxy = new DAOPuntos();
            DataSet dtsProxy = daoProxy.TraerpuntoxId(LPUNTOS_ID);


            return Cargar(dtsProxy.Tables[0].Rows[0]);
        }
       
        #endregion


     
        #region Metodos Privados
        private static List<Puntos> CargarLista(DataTable tabla)
        {
            List<Puntos> lstProxy = new List<Puntos>();

            foreach (DataRow fila in tabla.Rows)
            {
                lstProxy.Add(Cargar(fila));
            }
            return lstProxy;
        }
        private static Puntos Cargar(DataRow fila)
        {
            Puntos objProxy = new Puntos();
            objProxy.ICODIGO1 = Convert.ToInt32(fila["ICODIGO1"]);
            objProxy.SDESCRIPCION_PUNTO_DSC1 = fila["SDESCRIPCION1_DSC"].ToString();
            objProxy.ICONCURRENCIA1 = Convert.ToInt32(fila["ICONCURRENCIA"]);
            return objProxy;
        }




        #endregion


    }
       
}
